package modelo.policiales;

import modelo.delictivas.OrganizacionDelictiva;
import modelo.delictivas.TesoroNacional;
import modelo.lugaresYPistas.Establecimiento;
import modelo.lugaresYPistas.Pista;

public class RangoDetective extends Rango {

	private String nombreDelRango = "RangoDetective";

	private RangoDetective() {
		this.velocidadDeViaje = 1100;
		this.cantidadDeArrestosNecesariosParaAscender=10;
		this.nombre = "Detective";
		//Cantidad para dejar de ser de este rango
	}

	private static RangoDetective unicaInstancia = null;
	
	public static RangoDetective obtener(){
		if(unicaInstancia == null)
			unicaInstancia = new RangoDetective();
		return unicaInstancia; 
	}
	
	
	@Override
	public Pista obtenerPistaCorrespondienteDeEstablecimiento(Establecimiento establecimiento) {
		return establecimiento.getPistaMedia();
	}

	@Override
	public boolean validarAscenso(Interpol interpol, int arrestos) {
		return interpol.correspondeAscenso(this, arrestos);
	}


	@Override
	public TesoroNacional obtenerTesoroNacionalCorrespondiente(
			OrganizacionDelictiva organizacionDelictiva) {
		return organizacionDelictiva.obtenerTesoroNacionalComun();
	}


	@Override
	public String obtenerNombreDelRango() {
		return this.nombreDelRango;
	}


	@Override
	public String getNombre() {
		return this.nombre;
	}
	
}
